home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 January - Disc 2 / Macworld (1999-01) (Disk 2).dmg / Serious Demos / Symbolic Composer 4.2 / Environment / System / CRESC / Variations / gen-variants-chord < prev    next >
Lisp/Scheme  |  1997-02-02  |  1KB  |  23 lines

  1. gen-variants-chord seed number chd-trim-value symbol-pattern 
  2.  
  3. Use this to generate a sequence of chords from a symbol-pattern. The number of chords generated is equal to the length of the symbol-pattern. The size of the chord itself defaults to a random control of its size between 2 and 4 on each chord generated.
  4.  
  5. (setq chrds (gen-variants-chord 0.34 nil nil '(a b c d)))
  6. --> (cbd ca ab db)
  7.  
  8. The number lets you set the number of chord variants to be generated. The chord-trim-value sets the number of symbols in each chord at a random value between 1 and the &optional chord-trim-value.
  9.  
  10. (setq chrds1 (gen-variants-chord 0.34 nil 3 '(a b c d)))
  11. --> (bd ca ab b)
  12.  
  13. The function can be used with quite extensive symbol-patterns, even those containing rest symbols.
  14.  
  15. (setq mel '(a b c = f c g h e e f))
  16. (setq chrds2 (gen-variants-chord 0.34 4 nil mel))
  17. --> (cgh ae fhg eac)
  18.  
  19. The repetition of symbols within chord atoms makes it possible to use the function symbol-melodize to create sympathetic melodies or bass lines.
  20.  
  21. (setq bass (symbol-melodize chrds2))
  22. --> (c g h a e f h g e a c)
  23.